home *** CD-ROM | disk | FTP | other *** search
/ PCMania 64 / PCMania CD64_1.iso / phy / phy003 / files / articulo.017 < prev    next >
Encoding:
Text File  |  1997-04-12  |  3.7 KB  |  105 lines

  1. *cX              Curso de POV
  2. *c^
  3.   Tras el parantesis del número anterior,
  4. continuamos con esta série de artículos
  5. dedicados al POV-RAY. Veremos la forma gene-
  6. ral de un fichero de definición de escena y
  7. algunos objetos sencillitos...
  8.   Para definir una escena en el POV debemos
  9. crear un fichero de texto normal y corriente
  10. en el que, con un lenguaje similar al C
  11. (aunque notablemente más sencillo), iremos
  12. creando nuestro mundo tridimensional para
  13. luego renderizarlo y tras una espera más o
  14. menos larga difrutarlo. Pondré un ejemplo de
  15. una sencilla escena:
  16.  
  17. *cH#include "colors.inc"          *cO          [ 1]
  18. *cH#include "textures.inc"        *cO          [ 2]
  19.                                          [ 3]
  20. *cHobject { sphere { <0 0 0>, 10 }*cO          [ 4]
  21. *cH         texture { glass }     *cO          [ 5]
  22. *cH         }                     *cO          [ 6]
  23.                                          [ 7]
  24. *cHobject {
  25. *cH     ligth_source { <0 20 0> color red}}*cO [ 8]
  26.                                          [ 9]
  27. *cHcamera { location <0 5 -25>             *cO [10]
  28. *cH         look_at <0 0 0>              *cO   [11]
  29. *cH         }                            *cO   [12]
  30. *c^
  31.   En esta sencilla escena hemos usado algunas
  32. cosas bastante interesantes como luces, cáma-
  33. ras y una esfera. En las líneas 1 y 2 se in-
  34. cluyen los colores y las texturas que POV nos
  35. ofrece por defecto. La línea 4 define un
  36. objeto, en concreto una esfera de centro en
  37. (0, 0, 0) y rádio 10 a la que se le aplica
  38. una textura (5) de cristal (glass) que está
  39. definida dentro de *cAtextures.inc*c^. Las luces
  40. son tratadas como otros objetos cualesquiera
  41. y por ello vemos en la línea 8 que su defini-
  42. ción es similar a la de la esfera. Por
  43. último, en las 3 últimas líneas vemos la
  44. definición de una camara situada en el punto
  45. (0, 5, -25) que apunta hacia el origen de
  46. coordenadas donde se encuentra la esfera.
  47.   No parece demasiado complicado, ¿verdad?
  48. Pues continuemos viendo algunos objetos más:
  49. *cH
  50.   cylinder { <base1>, <base2>, radio }
  51.   box { <esquina>, <esquina_opuesta> }
  52.   cone { <base1>, radio1, <base2>, radio2 }
  53. *c^
  54.   El *cAcylinder*c^ es un cilindro con un
  55. radio dado y donde damos las 3 coordenadas
  56. de las 2 bases que tiene este objeto. Para la
  57. caja hay que dar las 2 esquinas de esta que
  58. son necesarias para su definición. Con un
  59. cono se podria imitar el cilindro, pero se
  60. incluye por comodidad; a dicho cono hay que
  61. pasarle las 2 bases (el centro del circulo de
  62. la base) y los 2 rádios. Veamos otro ejemplo
  63. más complejo:
  64. *cH
  65.  /**
  66.   **  Vamos con la escena
  67.   **/
  68.  
  69. #include "colors.inc"      //  Los colores!
  70.  
  71. camera { location <2, 8, -4>
  72.          look_at <0, -4, 10>
  73.          }
  74.  
  75. ligth_source { <0, 16, 12> color White }
  76.               //  Plano horizontal a altura 0
  77. plane { <0, 1, 0>, 0
  78.         pigment { color Blue }
  79.         }
  80.  
  81. sphere { <0, 2, 5>, 2
  82.          texture { pigment { color Red }
  83.                    finish { phong 1 }
  84.                    }
  85.          }
  86. *c^
  87.   Como podeis ver, en POV, se puede usar otro
  88. tipo de estilo como en este caso las comas y
  89. no poner "object" antes de la definición de
  90. cada objeto (planos, luces, esferas, etc).
  91. *cAPlane*c^ define un plano a una determinada
  92. altura del eje de coordenadas (en el posicio-
  93. namiento sólo debemos poner a 1 alguno de los
  94. ceros).
  95.   Dentro de "texture" podemos poner un nombre
  96. de textura predefinida que se encuentre en
  97. *cAtextures.inc*c^ o cualquier otro fichero, o
  98. bien podemos definir nuestra própia textura.
  99. En *cApigment*c^ se define todo lo relativo al
  100. color y en *cAfinish*c^ se define el acabado de
  101. la textura. Pero esto lo veremos en el pró-
  102. ximo número, hasta entonces...
  103.  
  104.                         *cG         Navi Dj.
  105.